

Introducing BalcheckHR
A User Manual Attachment


What is it? A factory tester called "Balcheck" (Bally Check), used by the
manufacturer around 1980, was utilized to check Bally/Astrocade motherboards.
BalcheckHR, providing an upgraded version of Balcheck, will do the
same and more.

BalcheckHR is an 8KB package which includes:

1. Standard and optional Balcheck test routines.

2. An easier to read Balcheck error report sequence.

3. A checksum test routine to compute and compare the checksums of 3 on-board 
   ROM versions.

4. Two custom write/read loops for use with a logic analyzer.

5. Two "crash test" demos that can be used to determine if a motherboard
   will run perfectly for a long period of time.

6. SetScreen3, a new diagnostic tool, which can help diagnose a failed motherboard
   producing a black (blank) TV screen at power on.

7. Three user RAM test routines (user must provide a 50 pin ribbon cable adapter).

8. Three high resolution demos for use on a "modified for hi-res" Bally/Astrocade.

9. A hi-res screen RAM test routine similar to Balcheck's low-res screen RAM test
   routine.

10. SetScreenHR, similar to SetScreen3, can help diagnose a failed "modified for 
    hi-res" Bally/Astrocade.


+++++++++++++++++++++++++++++


MCM DESIGN'S BALCHECKHR BOARD

This wire wrap board, built by MCM Design, utilizes standard TTL chips and two
standard 7-segment displays. Two 74LS374 chips act like output ports, latching in
output data and turning on or off the display segments.

This scheme allows custom characters to be displayed typically not possible with
specialty LED display drivers or specialty 7-segment displays. This advantage is
utilized in the BalcheckHR programming allowing hexadecimal numbers to be
displayed. In most cases, the display is easier to read, ie, the user does not 
have to consult the user manual to look up some display interpretation table.

The board also uses a multi-carted 32KB EEPROM. Any one of four 8KB programmed
banks can be selected and executed using a 2 position dip switch and mini-toggle 
switch. Two banks are programmed with BalcheckHR. The other two banks are 
programmed with a revised copy of the on-board ROM and a Z80 Check routine, both 
of which may be used to help diagnose a Zone B motherboard failure, relating to 
the operation of the Z80 address A0-A15 and data D0-D7 buses.


++++++++++++++++++++++++++++++++++++++++++++


BALCHECKHR PROGRAMS LISTING WITH DESCRIPTIONS
LOW RESOLUTION GRAPHICS




1. Standard Balcheck Tests

   After the system reset button is pressed, the dual display is initialized to 
   - - (dash dash) indicating the Z80 CPU and on-board ROM are operating enough 
   to execute a jump to the Balcheck tests at 2000H.

   Then the following test routines are executed:

   A. Test RAM 4F00-4FFF (stack thru scratchpad area).

   B. Test for screen interrupts.

   C. Test checksum for either of two single 8KB ROM chip versions with an 
      option to test a motherboard with four 2KB ROM chips.

   D. Test RAM 4F00-4FFF again.

      Test RAM 4000-4EFF.

   E. Shifter test

   F. Flopper test.

   G. Expander test.

   H. OR/XOR write, OR/XOR intercept test.

   I. Trigger/joystick/pot test.

   J. Exercise output ports with the removal of the commercial Balcheck
      irritating audio beeping.

Balcheck will execute 4 passes of the above C thru J, unless an error is detected.
The dual display will count up from zero in seconds during the 4 passes. It takes
about 19 seconds to execute 4 passes. If an error is detected, an error report 
sequence will be executed on the dual display. This sequence will repeat 
continuously until the system reset button is pressed.

The error report sequence displayed is:


Error code

][ (custom character indicating info/data error byte follows next)

info/data error

HE

LP

1.9 sec blank display



If the Q/S key is pressed during the 4 passes of Balcheck tests, the testing
will continue nonstop, unless an error is detected.

During the Balcheck nonstop testing mode, the dual display will keep track of
elapsed run time alternating in hours Xh, where X will count up from 0 to 9 hours, 
and in minutes. Maximum elapsed run time is 9:59:59, alternately displayed as 9h
and 59. Seconds are not displayed.

In the nonstop mode, the error report sequence is:


Error code

][

info/data byte

HE

LP

Hours

Minutes

1.9 sec blank display


The nonstop mode can be used as a long term test to see if a motherboard will 
run perfectly. A reportable failure will be reported including the elapsed 
run time in which the reported error occurred. A nonreportable failure may simply 
"crash" the Balcheck program or force the Z80 to "reset" the system.



Refer to the BalcheckHR user manual for specifics on error codes and reports. The 
reports, in some cases, are similar to the reports in the commercial Balcheck's 
instruction manual documented on the BallyAlley.com website.






2. OPTIONAL BALCHECK ROUTINES


The following routines are included in BalcheckHR and are documented in the 
commercial Balcheck instruction manual archived on the BallyAlley.com website:

A. Memory read
B. Memory write
C. Input port read
D. Output port write
E. Memory write and read
F. Display all input devices






3. OPTIONAL DEMOS


A. MCM Design title page

B. Crash test demo

   This demo is a variation of Bit Fiddler's Goldfish demo, moving around the 
   entire screen area, 7 small fish and 3 large fish. A hours, minutes and 
   seconds elapsed timer is displayed at the bottom of the screen. This demo 
   can be used to check if a motherboard will run perfectly for a long period 
   of time without crashing or displaying gliches. An optional background color
   can be selected. The magic XOR function is used to write and blank the fish.

C. New Checkmate demo

   The demo is a variation of the on-board ROM Checkmate. New vivid colors are
   used. The demo runs 100 rounds nonstop. There is no pausing "pizza break".
   "DEMO OVER" is displayed at the end of the demo instead of "GAME OVER". A
   collision produces a new flashing screen.

D. Test dual 7-segment display and display screen test patterns

   The dual 7-segment display counts up from 00 to FF in hexadecimal and then
   repeats. Three test patterns are also displayed repetitively during the up
   count.






4. OPTIONAL TROUBLESHOOTING LOOPS


Two custom write and read loops intended for use with a logic analyzer can be
executed. Unlike the routines in above 2A,B and E, which require working RAM to
execute (utilizes a Z80 stack area in RAM), these 2 custom write and read loops
will execute even if there is a failure related to screen RAM. They execute
immediately after Balcheck initializes the display to - - (dash dash).






5. SetScreen3

The final version of a new diagnostic tool. The original SetScreen and SetScreen2
are documented on the BallyAlley.com website. This last version provides 6 user
selectable write speeds for the keypad column 3 pixel and fill screen "write only"
routines. This version also provides multiple write/read attempts in 6 specific
RAM locations allowing the user to examine a Z80 CPU having some difficulty
reading from screen RAM.






6. OPTIONAL USER RAM TEST ROUTINES

These routines are intended for use with MCM Design's hi-res Astrocade. However,
they may be utilized for a standard low-res motherboard with a user add-on, IF
the user can provide a 50 pin ribbon cable adapter allowing the BalcheckHR board
plus user RAM add-on to simultaneously interface with the motherboard. See the
BalcheckHR doc detailing these routines for more info.

The 3 routines are:

A. Test user RAM 6000-7FFF.
B. Test user RAM 8000-FFFF.
C. Test user RAM with RAM start address, bank size and bank number, user
   selectable via keypad inputs. Minimum bank size (or bank address area) is 1KB.

An error found during the test will be reported on the dual display with an error
code sequence as follows:


Error code

][

Data error

HE

LP

1.9 sec blank display


The RAM tests will continue repeatedly incrementing the test pass number output
to the dual display, unless an error is reported or the system reset button is
pressed.


+++++++++++++++++++++++++++++++++++++++++++++



BALCHECKHR PROGRAMS LISTING WITH DESCRIPTIONS

HIGH RESOLUTION GRAPHICS




A. Original hi-res test demo

   Demo was written in the 1980's to test MCM Design's hi-res Astrocade screen
   RAM scheme. A screen shot and demo description are archived on the
   BallyAlley.com website.

B. Ten color, textured test pattern with color variations

C. Run low-res menu/on-board games on a hi-res screen RAM map

   The graphics are split and displayed on the top 1/4 of the hi-res screen. A
   screen shot of this demo is archived on the BallyAlley.com website.

D. The Pixel Stringer

   This demo is MCM design's encore hi-res presentation for the BalcheckHR 8KB
   package. It show cases the tiny hi-res pixels with multiple variations in
   graphic patterns, colors and write speeds. Each show lasts 16 seconds. The
   one pixel wide string can begin anywhere along the screen's x or y axis and
   grow in a random direction. The string will just keep growing and change color
   every time it bounces off the screen's edge. The demo is very graphics
   entertaining with non repetitive shows and may entice the viewer to continue
   watching to catch that rare glimpse of a show that is a "hi-res jaw dropper".

E. Screen RAM test
   
   Hi-res screen RAM will be tested nonstop similar to the low-res Balcheck's
   RAM test. If a RAM error is found, an error report sequence is output to the
   dual display. The error sequence displayed is as follows:


   ][ 01 XX 02 XX 03 XX 04 XX (1.9 sec blank)

   Where 01 02 03 and 04 are the bank numbers and

   XX is the error data byte displayed as a hexadecimal for each of the banks.


   During testing, the dual display initializes to 00 and up counts indicating
   the number of test passes executed (up to 99 decimal passes maximum).

   This test can also be used as a "crash test" demo to determine if hi-res 
   screen RAM can run perfectly for a long period of time.


F. SetScreenHR

   Similar to SetScreen3, but for hi-res screen RAM only.





End of document
MCM Design
Dec 2018  